package com.ruoyi.walmart.service.order;

import com.ruoyi.walmart.domain.order.AllOrder;
import com.ruoyi.walmart.domain.order.OrderCharge;
import com.ruoyi.walmart.domain.order.OrderItem;
import com.ruoyi.walmart.domain.order.VoOrder;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public interface OrderService {

    /** 添加订单数据 */
    int insertAll(List<AllOrder> orderList);

    /** 查询最后创建的时间 */
    Date orderDate(Long authId);

    /** 查询数据 */
    List<AllOrder> selectAllList(Long authId);

    /** 删除数据 */
    int deleteAuthId(Long authId);

    /** 查询订单号*/
    List<String> customerOrderId(Long authId);

    /** 根据店铺查询数据 */
    List<AllOrder> selectOrderAuthId(VoOrder order);

    /** 查询最后创建的时间（推迟一个小时） */
    Date delayOrderDate(Long authId);
    /**
     * 确保删除和插入都在事务管理
     */
    void deleteAndSaveData(Long authId, List<String> finalOrderIdsToDelete, List<OrderItem> orderItems, List<OrderCharge> orderCharges, List<AllOrder> allOrders);
}
